home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 1995 #5 & #6 / Amiga Plus CD - 1995 - No. 5 and 6.iso / pd / netz / amyboard / xboard-3.3.pl0 / todo < prev    next >
Text File  |  1995-08-12  |  12KB  |  222 lines

  1. Possible improvements
  2. ---------------------
  3. 5. gray background for dark squares in 1-bit mode.  Do this like xchess does.
  4. 12b. scoresheet text widget.  Current move should be highlighted.
  5.     Scoresheet could include comments or just have moves; latter is
  6.     easier to fit on screen.
  7. 16. Allow move typein from keyboard.  Maybe by typing into scoresheet, maybe 
  8.     a separate pop-up dialog.  See also 64.  Could allow multiple
  9.     moves when in EditGame mode, to support X cut and paste from mail
  10.     and news. 
  11. 20. Some way to back up, explore variations, then return to the main line
  12.     and restore moves we backed out.  Should also support exploring
  13.     side branches while loading a game file.  Push/pop buttons?
  14.     Button to fork another xboard in same state as current one?
  15. 20a. Allow side branches to be remembered in game files (and
  16.     understood on LoadGame).  
  17. 26. After sending move to machine, wait for positive acknowledgement or
  18.         error message before proceeding; don't allow other events first. 
  19.         This will fix some race conditions and obscure bugs, and allow some new
  20.         features---e.g., selecting Machine White when white is not on move.  
  21. 42. Could generate ICS-style elapsed times on each move
  22.     for games played against gnuchess.  This should probably be
  23.     optional.  The same option could suppress the times on moves
  24.     from ICS, maybe.  (See also 46.)
  25. 43. Strength numbers from ICS are bogus if you use Backward/Forward.
  26.     They are nice to have, though.  Maybe xboard should generate
  27.     correct ones itself.  This could be done in non-ICS mode too.
  28. 46. LoadGame doesn't display ICS-style elapsed times on moves.  To
  29.     do this would require look-ahead or a parser change.  Either
  30.     is doable but ugly.  A benefit of look-ahead is that one could use
  31.     it to pop up comments along with the move they follow instead of
  32.     on the next forward step.
  33. 49. It might be nicer to step slowly through movelists obtained from
  34.     the ICS oldmoves command, as with LoadGame, instead of jumping to
  35.     the end.
  36. 51. Look into not killing the chess programs unless really needed.  Should
  37.     really never be needed except possibly when we need to stop one while
  38.     it's thinking.  Even then a SIGINT should get it; we just have to
  39.     deal with the bogus move it makes.
  40. 59. Make sure comment popup is wide enough considering font in
  41.     use.  Assume 80 characters is enough?  [Not a problem in WinBoard.]
  42. 61. Darooha suggests having a separate small window for ICS typein,
  43.     so that ICS messages that come in while you're typing don't
  44.     mix with what you're typing.  Your typing would be copied to
  45.     the main ICS window when you hit return.  WinBoard needs this 
  46.     even more than xboard because Windows consoles don't have the
  47.     ^R (retype line) feature of Unix.  Also, Windows console fonts
  48.     are ugly.
  49. 62. Support more kinds of time controls (in gnuchess mode).  Gnuchess
  50.     already supports game-in-N and ICS-style incremental clocks,
  51.     but xboard doesn't support these unless used in ICS mode,
  52.     where ICS supplies the new time (adding the increment) with
  53.     each board update.  Perhaps (with gnuchess mods or some
  54.     external help from xboard) gnuchess could also support the
  55.     kind of clock where you get K seconds per move, plus a reserve
  56.     of J seconds per game that is used when a move takes more than
  57.     K seconds.  The degenerate form of this with J=0 is desirable
  58.     in itself.
  59. 62a. Support series of time controls as in recent gnuchess versions
  60.     (and real tournaments!).
  61. 64. Allow move typein in algebraic.  Could require coordinate notation and 
  62.     highlight the ranks/files as typed, or could accept general strings
  63.     and parse with move parser.  Latter seems better.  Require a special
  64.     key to start, or any letter?  (Latter conflicts with xboard shortcut
  65.     keys, but would work on WinBoard.)
  66. 65. Animate piece while moving.  (Sounds hard.)
  67. 66. Double bughouse mode.  (Lots of work.)
  68.  
  69. 68. WinBoard has some features not in xboard:
  70. 68a. LoadGameOptions dialog             (good to add)
  71. 68b. SaveGameOptions dialog             (good to add)
  72. 68c. TimeControl dialog                 (good to add)
  73. 68d. Help.                        (don't care)
  74. 68g. Font dialog.            (leave out)
  75. 68h. Colors dialog.            (leave out)
  76. 68i. Board size on Options menu         (good to add)
  77.  
  78. 69. xboard has some features not in WinBoard:
  79. 69b. Alternate fonts specified by name.      (need)
  80. 69c. Font size selection by pattern fill-in. (leave out)
  81. 69d. Alternate bitmaps specified at runtime. (leave out)
  82. 69e. Error message dialog is non-modal and disappears if you make a move.
  83.  
  84. 74. Observe multiple games.  Hard.
  85. 80. Clone command.  Saves current game to a file foo, then starts up
  86.     another copy of xboard with -lgf foo.  Should probably note
  87.     current state of some options and give command line flags to
  88.     set them the same way in child.  What about -ncp mode, though?
  89.     Might want that to be different.  Would be nice to have a
  90.     -moveNumber flag to position the child to the same move number
  91.     in the current game.
  92. 81. Measure and warn of lag in ICS mode, or some other kind of
  93.     feedback to show the lag.
  94. 82. Optional highlights: (a) Square that was downclicked while making
  95.     a move. (b) From and to squares of last move (by opponent?).
  96. 85. Rolling across menu bar with mouse button down should scan through
  97.     menus.  How to do this with Athena widgets?  (Not a problem on
  98.     WinBoard.) 
  99. 87. Optional long notation, at least on screen (e.g., Bc1-b2). (user request)
  100. 89. Notice when user has selected a large font in -titleInWindow mode, 
  101.     and make sure the title line is wide enough for most messages; 
  102.     use Small format with title on separate line if not.
  103. 91. Would be nice to have an option to overwrite save file instead of
  104.     appending.
  105. 93. Auto font size for menu bar (in X) and move display window?
  106. 95. "Have the clock indicate how long the computer/player has been
  107.     thinking for when the -st option is used. This should be how
  108.     long for the current move only." (Dino Dini)
  109. 96. "Have a menu option to give gnuchess the 'both' command to play
  110.     both sides. Useful for assessing which side is better off in
  111.     a position. I know that you can start another gnuchess, but that
  112.     is very wasteful of system resources." (Dino Dini) [may be hard] 
  113. 97. "Have the ability to change the level of the gnuchess during
  114.     a game. For analysis purposes, sometimes it is useful to have
  115.     the computer think really hard about certain positions." (Dino Dini)
  116. 98. Reorganize the source and split it into more files.
  117. 107. Changing time control during a game could be made to work.
  118.        Current (WinBoard only) way of changing at start is suboptimal. 
  119. 108. Could add search depth and time per move to (WinBoard) TimeControl
  120.        dialog. 
  121. 109. Could maybe add the rest of the init options to the option dialogs: 
  122.     initString, whiteString, blackString, first/second Host/ChessProgram,
  123.        remoteShell, telnetProgram, ics Host/Port, useTelnet, gateway,
  124.        debugMode, clockMode, etc.
  125. 117. Faster square drawing; precompute each piece/square color combo.
  126.     Mostly useful in WinBoard.
  127. 131. WinBoard: "Save settings" command to rewrite .ini file.  Options menu or
  128.     file menu?  Exactly what is saved?
  129. 133. WinBoard: Comm port support needs more work.  Can't change port
  130.     while running (**that's OK), can't choose settings in init
  131.     file or command line.  Maybe program should use existing
  132.     settings at open time instead of setting its own defaults?
  133. 137. Split up winboard.h to avoid annoying messages from dialog editor.
  134. 138. Split winboard.c in two?
  135. 139. Be sure that "White's flag fell" and the like always go away when they
  136.     should; some gameMode changes may not be doing this. 
  137. 140. LoadGame and LoadPosition need better checking for invalid data.
  138. 141. Merge Kevin Ziegler's term-ification code into xboard?
  139. 142. xboard needs a real file chooser dialog.  Jeff Woolsey submitted code to
  140.     merge in the one from Ghostview, but said it works only on X11R5 or
  141.     later.  I have not yet tried his code or looked to see if it could be
  142.     made to work on X11R4.
  143. 144. Filter out ICS messages from consideration for boards, etc.
  144.     Right now this case may be missed, but others are
  145.     handled. (DAV on ICS)
  146. 144a. Related bug: current method of filtering out shouts, etc.,
  147.     doesn't work fully, because the patterns insist on matching to
  148.     the end of line.  If you get a partial line, and something in
  149.     it looks like a board, it will match that.  There may be other
  150.     bugs of this sort too.
  151. 145. eco popup, similar to book popup (Peter Chang)
  152. 146. Bug: if you invoke EditTags and hit OK while a LoadGame is in
  153.     progress, the LoadGame stops with a bogus "end of game file".
  154.     This is because the parser can only be working on one file or
  155.     long string at a time.  Similar problem if you try to build a
  156.     game list while a game is loading.  Could fix this (as well as
  157.     46 and 49) by having LoadGame read in the whole game, then
  158.     step through the in-memory movelist, instead of calling the
  159.     parser on each step.
  160.  
  161. Old ideas I no longer think are so good:
  162. ---------------------------------------
  163. 12a. analog clocks
  164. 12c. jail
  165. 21. Maybe make LoadPosition parser smarter: able to skip arbitrary garbage
  166.     before the position, able to tell when file doesn't contain
  167.     a position, able to read positions in other common styles.
  168.     (Tricky if some use the opposite case convention.)
  169. 23. Maybe allow LoadGame from SetupPosition mode, or even ForceMoves mode?
  170.     No, I think it's better to reset the position first.  A game
  171.     file can now include a starting position, which seems better
  172.     than loading position and subsequent moves separately.
  173. 57. The move parser is slow on low-powered machines (e.g., VS2000).  This 
  174.     is annoying when parsing ICS "oldmoves" or "moves" output to 
  175.     start observing a game.  Can it be speeded up?
  176. 3. human-human playing?  No, use ICS.
  177. 27. Maybe add some optional screen flash when gnuchess makes its move.
  178.     No, I think -bell and the use of Forward/Backward to review
  179.     moves without retracting them is good enough.
  180. 20b. Alternative: Have a set of memories accessable via the menus into which
  181.     you can store, say, up to 10 positions (with all moves to that point
  182.     and the clock times). (Dino Dini)
  183. 71. Allow restart after ICS logout instead of exiting?
  184. 72. Allow switching among ICS, NCP, GNU modes??
  185. 73. Rename noChessProgram mode?  Revamp command line options for 3
  186.     main modes.
  187. 63. Keyboard interface for moving pieces.  Ideas:  Arrow keys move
  188.     selection highlight around.  Highlight not visible until first
  189.     key is pressed, then starts (where?).  <Enter> "picks up"
  190.     piece, then arrow keys again to select destination.  <Esc>
  191.     aborts move (no touch move here!).  <Enter> again to put down
  192.     piece on new square.  Could maybe have similar selection
  193.     highlights on moves made with mouse.  In EditPosition mode,
  194.     <Insert> brings up piece menu and <Delete> empties current
  195.     square.  (These are PC keyboard keys.  What to use on vanilla
  196.     ASCII keyboard with X?)  Also, a-h keys could move highlight
  197.     to a-h file and 1-8 keys to 1-8th rank.
  198.  
  199. 125, 127, and 127a  are academic because NT 3.5 and Windows 95 don't have
  200. the telnet service.
  201.  
  202. 125. Automatically start Windows NT telnet service if needed?
  203. 127. WinBoard: In useTelnet mode, we seem to get an extra NUL character after
  204.     each \n\r sequence sent by ICS, and the NUL prints as a blank.
  205.     At least I think that's what's happening.  Probably a bug in
  206.     NT telnet service; telnet protocol says send \r not followed
  207.     by \n as \r\0, and evidently NT telnet is not stripping the \0
  208.     back out.  ** I put in a kludge to work around this, and it
  209.     works, but bug in telnet should be reported to Microsoft.  Should
  210.     check whether it is already fixed in NT 3.1 or 3.5.
  211. 127a. WinBoard: Another apparent telnet server bug: sometimes hangs after
  212.     connecting---no login prompt.  Hangs after "RCVD DO 24 (don't
  213.     reply)"  But it SHOULD reply to this (with WONT).  Sometimes
  214.     it does, and then things work fine. ** May have been a bug in NT 
  215.     beta only; seems OK in NT 3.1.
  216.  
  217. 127b. WinBoard: We also seem to get bogus NULs when typing while ICS output is
  218.     being displayed.  I don't know where those are coming from;
  219.     could be a concurrency problem accessing console from
  220.     different threads, or something entirely different.  ** This seems 
  221.     to be gone now, not sure why.
  222.